import { MidwayConfig } from '@midwayjs/core';
import { createRedisStore } from '@midwayjs/cache-manager';

export default {
  keys: '1',
  koa: {
    port: 5277,
  },

  //数据库配置
  typeorm: {
    dataSource: {
      default: {
        type: 'mariadb',
        host: '', //数据库地址
        port: 3306, //数据库端口
        username: '', //数据库用户名
        password: '', //数据库密码
        database: '', //数据库名称
        synchronize: false, // 是否自动同步数据库结构
        logging: false, // 是否开启日志

        // entities:[user]
        entities: [
          'entity', // 特定目录
          '**/*.entity.{j,t}s', // 通配加后缀匹配
        ],
      },
    },
  },

  //jwt 配置
  jwtConfig: {
    secret: '',
    expiresIn: '1d', // 过期时间 一天
  },

  //缓存配置
  cacheManager: {
    clients: {
      default: {
        store: '',
        options: {
          ttl: 259200000, // 设置缓存的过期时间为 3 天
          refreshThreshold: 1000 * 60 * 60 * 24, // 设置刷新阈值为 1 天
        },
      },
      redis: {
        store: createRedisStore(''), // 使用 createRedisStore 方法创建 Redis 存储
        options: {
          ttl: 259200000, // 设置缓存的过期时间为 3 天
          refreshThreshold: 1000 * 60 * 60 * 24, // 设置刷新阈值为 1 天
        },
      },
    },
  },
  //redis 配置
  redis: {
    client: {
      port: 6379, // Redis port
      host: '', // Redis host
      password: '',
      db: 0,
      keepAlive: 10000,
    },
  },

  cors: {
    origin: '*', // 跨域
  },
} as MidwayConfig;
